$fontSize_14: 0.8vw;
$fontSize_16: 0.9vw;
$fontSize_18: 1vw;
$fontSize_22: 1.1vw;
$fontSize_24: 1.26vw;
$fontSize_28: 1.3vw;
$fontSize_32: 1.4vw;
$fontSize_36: 1.8vw;
$fontSize_40: 2.1vw;
$fontSize_48: 2.5vw;
$fontSize_50: 2.6vw;
$fontSize_54: 2.7vw;
$fontSize_64: 3.2vw;
$fontSize_70: 3.5vw;
$fontSize_90: 4.5vw;
$fontSize_100: 5vw;
$fontSize_200: 10vw;
$f: 19.2;

.home {
  position: relative;
  width: 100%;
  .shadow {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    object-fit: cover;
    z-index: -1;
  }

  .section1 {
    position: relative;
    margin: 10vw 0 3vw 0;

    .t {
      font-size: $fontSize_48;
      font-weight: 500;
      text-align: center;
    }

    #carousel {
      position: relative;
      width: 2000/$f+vw;
      margin: 0 auto;
      max-width: 100%;
    }

    #carousel .swiper {
      padding-top: 20px;
      padding-bottom: 40px;
    }

    #carousel .swiper-slide {
      width: 500/$f+vw;
    }

    #carousel .swiper-slide img {
      display: block;
      width: 100%;
      border-radius: 20px;
    }

    #carousel .swiper-slide p {
      line-height: 58px;
      padding-top: 0;
      text-align: center;
      color: #636363;
      font-size: 0.8em;
      margin: 0;
    }
  }

  .section2 {
    width: 80vw;
    margin: 8vw auto;

    .box1 {
      display: flex;
      justify-content: space-between;

      .l {
        width: 45%;
        font-size: $fontSize_48;
        line-height: 1.4;

        span {
          color: #60E1FF;
        }
      }

      .r {
        width: 45%;
        color: #666;
        font-size: $fontSize_16;
        line-height: 1.6;
      }
    }
  }

  .section3 {
    background: #1A2031;
    padding: 5vw 0;
    position: relative;

    .notice {
      position: absolute;
      top: -3.9vw;
      left: -20vw;
      width: 100%;
      text-align: right;

      p {
        display: inline-block;
        color: #60E1FF;
        font-size: 128/$f+vw;
        font-weight: 700;
        position: relative;

        &::after {
          content: attr(data-text);
          position: absolute;
          top: 0;
          left: 0;
          color: #000;
          clip-path: inset(0 0 50% 0);
        }
      }

      .stroke {
        color: #60E1FF;
        -webkit-text-stroke: unset;
      }
    }

    .t {
      color: #60E1FF;
      font-size: $fontSize_48;
      text-align: center;
    }

    .partners {
      margin-top: 3vw;

      .scroll-container {
        width: 100%;
        overflow: hidden;

        .animate_box {
          display: flex;
          width: max-content;
          animation: ani-loop 20s linear infinite;
          margin-top: 2vw;

          .flex-xb {
            display: flex;
            flex-wrap: wrap;

            .icon {
              width: 260/$f+vw;
              border-radius: 12px;
              border-radius: 24px;
              background: #FFF;
              height: 140/19.2+vw;
              display: flex;
              align-items: center;
              justify-content: center;
              margin-left: 1.5vw;

              img {
                max-width: 80%;
                max-height: 80%;
                display: block;
                object-fit: contain;
              }
            }
          }

          @keyframes ani-loop {
            0% {
              transform: translateX(0);
            }

            100% {
              transform: translateX(-50%);
            }
          }
        }

        .animate_box2 {
          animation-direction: reverse;
        }
      }
    }
  }


  .section5 {
    width: 100%;
    position: relative;

    .bg {
      img {
        width: 100%;
      }
    }

    .text {
      position: absolute;
      bottom: 35%;
      left: 0;
      width: 100%;
      text-align: center;
      color: #000;
      font-size: $fontSize_40;
    }

    .btn {
      position: absolute;
      left: 50%;
      bottom: -.8vw;
      transform: translateX(-50%);

      .ball {
        width: 133/19.2+vw;
        height: 133/19.2+vw;
      }

      .en {
        img {
          width: 121/19.2+vw;
          height: 121/19.2+vw;
          animation: spin 14s linear infinite;
        }
      }

      @keyframes spin {
        100% {
          transform: rotate(1turn);
        }
      }

      .en,
      p {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
      }

      p {
        color: white;
        font-size: $fontSize_18;
      }

      .icon {
        position: absolute;
        right: 30/19.2+vw;
        top: 30/19.2+vw;
        width: 24/19.2+vw;
        height: 24/19.2+vw;
      }
    }
  }

  @media screen and (max-width: 1024px) {
    padding-top: 90px;

    .section1 {
      margin: 0;

      .t {
        font-size: 18px;
      }

      #carousel {
        position: relative;
        width: 90%;
        margin: 0 auto;
        max-width: 100%;
      }
    }

    .section2 {
      width: 90%;
      margin: 0 auto 30px auto;

      .box1 {
        flex-direction: column;

        .l {
          width: 100%;
          font-size: 18px;
          line-height: 1.6;
        }

        .r {
          width: 100%;
          font-size: 14px;
          margin-top: 15px;
          line-height: 1.8;
        }
      }
    }

    .section3 {
      padding: 40px 0;

      .notice {
        left: 70%;

        p {
          font-size: 36px;
        }
      }

      .t {
        font-size: 18px;
      }

      .partners {
        .scroll-container {
          .animate_box {
            margin-top: 20px;

            .flex-xb {
              .icon {
                width: 130px;
                height: 70px;
                border-radius: 10px;
                margin-left: 20px;
              }
            }
          }
        }
      }
    }

    .section5 {
      margin-bottom: 30px;

      .text {
        font-size: 16px;
        bottom: 40%;
      }

      .btn {
        bottom: -30px;

        .ball {
          width: 60px;
          height: 60px;
        }

        .en {
          img {
            width: 55px;
            height: 55px;
          }
        }

        .icon {
          width: 15px;
          height: 15px;
          right: 10px;
          top: 10px;
          display: none;
        }

        p {
          font-size: 12px;
        }
      }
    }
  }
}